package com.dhcc.bpm.modules.log.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;

/**
 * @ClassName GatewayLog.class
 * @Description  网关访问记录表实体类
 * @Author xiaFaYu
 * @Date 2019-12-16 14:16
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
@Data
@TableName("opc_gateway_log")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "GatewayLog对象", description = "网关访问记录表")
public class GatewayLog extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 访问路径
	*/
		@ApiModelProperty(value = "访问路径")
		private String path;
	/**
	* IP
	*/
		@ApiModelProperty(value = "IP")
		private String ip;
	/**
	* 请求日期
	*/
		@ApiModelProperty(value = "请求日期")
		private String requestDate;
	/**
	* 请求时间
	*/
		@ApiModelProperty(value = "请求时间")
		private String requestTime;
	/**
	* 请求耗时
	*/
		@ApiModelProperty(value = "请求耗时")
		private String requestConsume;
	/**
	* 响应状态
	*/
		@ApiModelProperty(value = "响应状态")
		private String responseStatus;
	/**
	* 响应日期
	*/
		@ApiModelProperty(value = "响应日期")
		private String responseDate;
	/**
	* 响应时间
	*/
		@ApiModelProperty(value = "响应时间")
		private String responseTime;
	/**
	* 请求方式
	*/
		@ApiModelProperty(value = "请求方式")
		private String requestType;
	/**
	* 接口编号
	*/
		@ApiModelProperty(value = "接口编号")
		private String opcApiCode;
	/**
	* 应用/渠道编号
	*/
		@ApiModelProperty(value = "应用/渠道编号")
		private String opcAppCode;
	/**
	* 机构编号
	*/
		@ApiModelProperty(value = "机构编号")
		private String opcOrgaCode;
	/**
	* 交易流水号
	*/
		@ApiModelProperty(value = "交易流水号")
		private String traceNo;
	/**
	* 环境类型
	*/
		@ApiModelProperty(value = "环境类型")
		private String envType;
	/**
	* 请求报文
	*/
		@ApiModelProperty(value = "请求报文")
		private String requestMessage;
	/**
	* 响应报文
	*/
		@ApiModelProperty(value = "响应报文")
		private String responseMessage;
	/**
	* 描述
	*/
		@ApiModelProperty(value = "描述")
		@TableField(value = "`describe`")
		private String describe;

	/**
	 * 租户ID
	 */
	@ApiModelProperty(value = "租户ID")
	private String tenantId;

	/**
	 * 网关编号
	 */
	@ApiModelProperty(value = "网关编号")
	private String gatewayCode;

	/**
	 * 网关类型
	 */
	@ApiModelProperty(value = "网关类型")
	private String gatewayType;

	/**
	 * 异常类型
	 */
	@ApiModelProperty(value = "异常类型")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Integer exptionType;

	/**
	 * 是否需要解密，1：解密，2：不解密
	 */
	@ApiModelProperty(value = "是否需要解密")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Integer isEnableEncrypt;

}
